/**
 *	@file	bc_use_def.h
 *	@brief	ボングリジュース使用シーケンス アプリデファイン
 *	@author	Miyuki Iwasawa
 *	@date	09.01.14
 *
 */

#ifndef __H_BC_USE_DEF_H__
#define __H_BC_USE_DEF_H__

///アプリシーケンス定義
typedef enum{
 SEQ_FADE_IN,
 SEQ_FADE_OUT,
 SEQ_MAIN,
 SEQ_PAGE_CHG,
 SEQ_USE_EFF,
 SEQ_RESULT_CHECK,
 SEQ_MSG_WAIT,
 SEQ_TALKMSG_WAIT,
 SEQ_EXIT,
};

///フレーム定義
#define UFRM_BACK	(GF_BGL_FRAME3_S)

#define DFRM_3D		(GF_BGL_FRAME0_M)
#define DFRM_MSG	(GF_BGL_FRAME1_M)
#define DFRM_TEXT	(GF_BGL_FRAME2_M)
#define DFRM_BACK	(GF_BGL_FRAME3_M)

#define UFRM_BACK_PRI	(3)
#define DFRM_MSG_PRI	(0)
#define DFRM_3D_PRI		(1)
#define DFRM_TEXT_PRI	(2)
#define DFRM_BACK_PRI	(3)

//////////////////////////////////////////////////////
///メッセージ関連定義

#define WORDSET_BCUSE_BUFLEN	(16)
#define WORDSET_BCUSE_BUFNUM	(16)
#define BCUSE_MSG_BUFLEN		(256)	///<メッセージ展開バッファ長

#define MSG_PARAM_NULL		(0)	///<メッセージ展開パラメータNULLコード

typedef enum{
 MIDX_USE,			///<使用時メッセージ
 MIDX_NO_CHANGE,	///<使用時メッセージ　なにも変わらなかった
 MIDX_PRM_UP01,
 MIDX_PRM_UP02,
 MIDX_PRM_UP03,
 MIDX_PRM_UP04,
 MIDX_PRM_UP05,
 MIDX_PRM_DOWN01,
 MIDX_PRM_DOWN02,
 MIDX_PRM_DOWN03,
 MIDX_PRM_DOWN04,
 MIDX_PRM_DOWN05,
 MIDX_SYS_MAX,
}MSG_IDX;

///////////////////////////////////////////
///パレット定義
#define BACK_FONT_PAL	(9)
#define MSG_FONT_PAL	(9)
#define EXP_FONT_PAL	(11)
//ここまでnclの中
///////////////////////////////////
#define SBOX_PAL		(11)
#define SYS_FONT_PAL	(12)
#define TALK_FONT_PAL	(12)
#define BMP_TALK_WIN_PAL	(13)
#define YESNO_WIN_PAL		(14)	//2本占有

#define BC_OBJPAL_MAX	(16)

#define	FCOL_N_WHITE	( GF_PRINTCOLOR_MAKE( FBMP_COL_WHITE, FBMP_COL_BLK_SDW, FBMP_COL_NULL ) )		// フォントカラー：黒
#define	FCOL_W_BLACK	( GF_PRINTCOLOR_MAKE( FBMP_COL_BLACK, FBMP_COL_BLK_SDW, FBMP_COL_WHITE ) )		// フォントカラー：黒
#define	FCOL_N_BLACK	( GF_PRINTCOLOR_MAKE( FBMP_COL_BLACK, FBMP_COL_BLK_SDW, FBMP_COL_NULL ) )		// フォントカラー：黒
#define	FCOL_N_BLUE		( GF_PRINTCOLOR_MAKE( FBMP_COL_GREEN, FBMP_COL_GRN_SDW, FBMP_COL_NULL ) )		// フォントカラー：黒
#define	FCOL_N_RED		( GF_PRINTCOLOR_MAKE( FBMP_COL_RED, FBMP_COL_RED_SDW, FBMP_COL_NULL ) )		// フォントカラー：黒
#define FCOL_SYS_N_BLACK	( GF_PRINTCOLOR_MAKE( FBMP_COL_BLACK, FBMP_COL_BLK_SDW, FBMP_COL_NULL ) )		// フォントカラー：黒
#define FCOL_SYS_N_WHITE	( GF_PRINTCOLOR_MAKE( FBMP_COL_WHITE, FBMP_COL_BLK_SDW, FBMP_COL_NULL ) )		// フォントカラー：黒

//=======================================
///アルファ値設定
//=======================================
#define ALPHA_SECOND	(26)
#define ALPHA_FIRST		(6)

#define ALPHA_MASK_1ST	(GX_BLEND_PLANEMASK_BG0)
#define ALPHA_MASK_2ND	(GX_BLEND_PLANEMASK_BG3|GX_BLEND_PLANEMASK_BG2|GX_BLEND_PLANEMASK_BG1)

///////////////////////////////////////////
//アクター関連
#define BONGUSE_ACTRES_MAX	(3)	///<リソース数
#define BONGUSE_ACTPAL_NUM	(3)	///<管理パレット数

#define STAR_NUM_MAX	(5)
#define ACT_STAR_MAX	(PM_PERFORMANCE_MAX*STAR_NUM_MAX)

enum{
 ACT_USE,
 ACT_BACK,
 ACT_POT,
 ACT_UPDOWN01,
 ACT_UPDOWN02,
 ACT_UPDOWN03,
 ACT_UPDOWN04,
 ACT_UPDOWN05,
 ACT_STAR01,
 ACT_STAR25 = ACT_STAR01+ACT_STAR_MAX,
 BONGUSE_ACTMAX,
};

//アクター管理数
#define BC_ACTOR_MAX	(BONGUSE_ACTMAX)

enum{
 ACT_SPRI_POT,
 ACT_SPRI_BACK,
 ACT_SPRI_USE,
 ACT_SPRI_EFF,
 ACT_SPRI_STAR,
 ACT_SPRI_UPDOWN,
};

enum{
 ACTRES_NORMAL,
};

enum{
 ANM_USE,
 ANM_USE_A,
 ANM_BACK,
 ANM_BACK_A,
 ANM_STAR_N,
 ANM_STAR_G,
 ANM_STAR_B,
 ANM_STAR_M,
 ANM_UP,
 ANM_DOWN,
 ANM_POT_UP,
 ANM_POT_ROT,
};

typedef enum{
 BTN_ANM_USE,
 BTN_ANM_BACK,
 BTN_ACTIVE,
 BTN_PASSIVE,
}BTN_STATE;

typedef enum{
 DC_BTN_DECIDE,
 DC_BTN_CANCEL,
}DC_BTN_ID;

#define ACT_USE_PX	(28*8)
#define ACT_USE_PY	(20*8)
#define ACT_BACK_PX	(ACT_USE_PX)
#define ACT_BACK_PY	(ACT_USE_PY+24)

#define ACT_POT_PX	(26*8)
#define ACT_POT_PY	(11*8)

#define ACT_UPDOWN_PX	(10*8)
#define ACT_UPDOWN_PY	(5*8)
#define ACT_UPDOWN_OY	(32)

#define ACT_STAR_PX		(8*8)
#define ACT_STAR_PY		(ACT_UPDOWN_PY+16)
#define ACT_STAR_OX		(16)
#define ACT_STAR_OY		(ACT_UPDOWN_OY)

///////////////////////////////////////////
///BMPウィンドウ定義
enum{
 WIN_MSG,
 WIN_USE,
 WIN_BACK,
 WIN_TITLE,
 WIN_NAME,
 WIN_PRM01,
 WIN_PRM02,
 WIN_PRM03,
 WIN_PRM04,
 WIN_PRM05,
 WIN_MAX,
};

///ウィンドウ関連キャラ領域指定(上下共用)
#define BMP_TALK_WIN_CGX	(1)

/////////////////////////////////////////////
//下画面用

//メッセージ領域
#define	BMP_MSG_PX	( 2 )
#define	BMP_MSG_PY	( 1 )
#define	BMP_MSG_SX	( 27 )
#define	BMP_MSG_SY	( 2 )
#define BMP_MSG_FRM	( DFRM_MSG )
#define	BMP_MSG_PAL	( TALK_FONT_PAL )
#define BMP_MSG_CGX_SIZ	(BMP_MSG_SX*BMP_MSG_SY)
#define	BMP_MSG_CGX	( BMP_TALK_WIN_CGX+TALK_WIN_CGX_SIZ )

///つかうボタン
#define	BMP_USE_PX	( 25 )
#define	BMP_USE_PY	( 18 )
#define	BMP_USE_SX	( 6 )
#define	BMP_USE_SY	( 6 )
#define BMP_USE_FRM	( DFRM_MSG )
#define	BMP_USE_PAL	( TALK_FONT_PAL )
#define BMP_USE_CGX_SIZ	(BMP_USE_SX*BMP_USE_SY)
#define	BMP_USE_CGX	( BMP_MSG_CGX+BMP_MSG_CGX_SIZ )

///やめるボタン
#define	BMP_BACK_PX	( 25 )
#define	BMP_BACK_PY	( 21 )
#define	BMP_BACK_SX	( 6 )
#define	BMP_BACK_SY	( 2 )
#define BMP_BACK_FRM	( DFRM_MSG )
#define	BMP_BACK_PAL	( TALK_FONT_PAL )
#define BMP_BACK_CGX_SIZ	(BMP_BACK_SX*BMP_BACK_SY)
#define	BMP_BACK_CGX	( BMP_USE_CGX+BMP_USE_CGX_SIZ )

///アプリタイトル
#define	BMP_TITLE_PX	( 20 )
#define	BMP_TITLE_PY	( 1 )
#define	BMP_TITLE_SX	( 10 )
#define	BMP_TITLE_SY	( 2 )
#define BMP_TITLE_FRM	( DFRM_TEXT )
#define	BMP_TITLE_PAL	( SYS_FONT_PAL )
#define BMP_TITLE_CGX_SIZ	(BMP_TITLE_SX*BMP_TITLE_SY)
#define	BMP_TITLE_CGX	( BMP_BACK_CGX+BMP_BACK_CGX_SIZ )

///名前パラメータ
#define	BMP_NAME_PX	( 20 )
#define	BMP_NAME_PY	( 4 )
#define	BMP_NAME_SX	( 10 )
#define	BMP_NAME_SY	( 4 )
#define BMP_NAME_FRM	( DFRM_TEXT )
#define	BMP_NAME_PAL	( SYS_FONT_PAL )
#define BMP_NAME_CGX_SIZ	(BMP_NAME_SX*BMP_NAME_SY)
#define	BMP_NAME_CGX	( BMP_TITLE_CGX+BMP_TITLE_CGX_SIZ )

//パラメータ名表示
#define BMP_PRM_PX	(1)
#define BMP_PRM_PY	(4)
#define BMP_PRM_SX	(16)
#define BMP_PRM_SY	(2)
#define BMP_PRM_FRM	(DFRM_TEXT)
#define	BMP_PRM_PAL	( TALK_FONT_PAL )
#define BMP_PRM_CGX_SIZ	(BMP_PRM_SX*BMP_PRM_SY)
#define BMP_PRM_CGX	(BMP_NAME_CGX+BMP_NAME_CGX_SIZ)

#define BMP_PRM_OY	(4)

/////////////////////////////////////////////
//タッチパネル関連
/////////////////////////////////////////////
#define TP_USE_X	(24*8)
#define TP_USE_Y	(18*8)
#define TP_USE_W	(8*8)
#define TP_USE_H	(3*8)

#define TP_BACK_X	(TP_USE_X)
#define TP_BACK_Y	(TP_USE_Y+24)
#define TP_BACK_W	(TP_USE_W)
#define TP_BACK_H	(TP_USE_H)

#endif	//__H_BC_USE_DEF_H__

